﻿using System.Collections.Generic;
using System.ServiceModel;
using Microsoft.Commerce.Contracts.Messages;
using MusicWorks.Service.DataContracts;

namespace MusicWorks.Service.Contracts
{
    [ServiceContract]
    public interface ICatalogService
    {
        [OperationContract]
        Product GetProduct(string productId, string catalogId);

        [OperationContract]
        IEnumerable<Product> DoProductQuerySearch(string catalogName, string searchPhrase,
                             string orderKey, SortDirection sortOrder,
                             int recordIndex, int recordsPerPage);

        [OperationContract]
        IEnumerable<Category> GetTopLevelCategories(string catalogId);

        [OperationContract]
        IEnumerable<Category> GetChildCategories(string catalogId, string parentCategoryId);

        [OperationContract]
        IEnumerable<Product> GetProductsByCategory(string catalogName, string parentCategoryName);
    }
}